home *** CD-ROM | disk | FTP | other *** search
/ Hardcore Visual Basic 5.0 (2nd Edition) / Hardcore Visual Basic 5.0 - Second Edition (1997)(Microsoft Press).iso / Source / Cpp4VB / WINTLB / COMCTL.ODL < prev    next >
Text File  |  1996-02-27  |  12KB  |  360 lines

  1. #ifdef WIN32
  2. [
  3. uuid(54674056-3A82-101B-8181-00AA003743D3),
  4. helpstring("Common Controls"),
  5. dllname("COMCTL32")
  6. ]
  7. module CommonControl {
  8.  
  9.     //====== IMAGE APIS ========
  10.  
  11.     const DWORD CLR_NONE            = 0xFFFFFFFF;
  12.     const DWORD CLR_DEFAULT         = 0xFF000000;
  13.  
  14.     const UINT ILC_MASK             = 0x0001;
  15.     const UINT ILC_COLOR            = 0x0000;
  16.     const UINT ILC_COLORDDB         = 0x00FE;
  17.     const UINT ILC_COLOR4           = 0x0004;
  18.     const UINT ILC_COLOR8           = 0x0008;
  19.     const UINT ILC_COLOR16          = 0x0010;
  20.     const UINT ILC_COLOR24          = 0x0018;
  21.     const UINT ILC_COLOR32          = 0x0020;
  22.     const UINT ILC_PALETTE          = 0x0800;
  23.  
  24.     [
  25.     usesgetlasterror,
  26.     entry("ImageList_Create"),
  27.     helpstring("Creates a new image list"),
  28.     ]
  29.     HIMAGELIST WINAPI ImageList_Create([in] int cx, [in] int cy,
  30.                                        [in] UINT flags,
  31.                                        [in] int cInitial,
  32.                                        [in] int cGrow);
  33.  
  34.     [
  35.     usesgetlasterror,
  36.     entry("ImageList_Destroy"),
  37.     helpstring("Destroys an image list"),
  38.     ]
  39.     BOOL WINAPI ImageList_Destroy([in] HIMAGELIST himl);
  40.  
  41.     [
  42.     usesgetlasterror,
  43.     entry("ImageList_GetImageCount"),
  44.     helpstring("Gets the number of images in an image list"),
  45.     ]
  46.     int WINAPI ImageList_GetImageCount([in] HIMAGELIST himl);
  47.  
  48.     [
  49.     usesgetlasterror,
  50.     entry("ImageList_Add"),
  51.     helpstring("Adds an image or images to an image list"),
  52.     ]
  53.     int WINAPI ImageList_Add([in] HIMAGELIST himl,
  54.                              [in] HBITMAP hbmImage,
  55.                              [in] HBITMAP hbmMask);
  56.  
  57.     [
  58.     usesgetlasterror,
  59.     entry("ImageList_ReplaceIcon"),
  60.     helpstring("Replaces an image with an icon or cursor"),
  61.     ]
  62.     int WINAPI ImageList_ReplaceIcon([in] HIMAGELIST himl,
  63.                                      [in] int i,
  64.                                      [in] HICON hicon);
  65.  
  66.     [
  67.     usesgetlasterror,
  68.     entry("ImageList_SetBkColor"),
  69.     helpstring("Sets the image list background color"),
  70.     ]
  71.     COLORREF WINAPI ImageList_SetBkColor([in] HIMAGELIST himl,
  72.                                          [in] COLORREF clrBk);
  73.  
  74.     [
  75.     usesgetlasterror,
  76.     entry("ImageList_GetBkColor"),
  77.     helpstring("Gets the image list background color"),
  78.     ]
  79.     COLORREF WINAPI ImageList_GetBkColor([in] HIMAGELIST himl);
  80.  
  81.     [
  82.     usesgetlasterror,
  83.     entry("ImageList_SetOverlayImage"),
  84.     helpstring("Adds the index of an image to the list of images to be used as overlay masks"),
  85.     ]
  86.     BOOL WINAPI ImageList_SetOverlayImage([in] HIMAGELIST himl,
  87.                                           [in] int iImage,
  88.                                           [in] int iOverlay);
  89.  
  90.     // #define ImageList_AddIcon(himl, hicon) \
  91.     //         ImageList_ReplaceIcon(himl, -1, hicon)
  92.  
  93.     const UINT ILD_NORMAL           = 0x0000;
  94.     const UINT ILD_TRANSPARENT      = 0x0001;
  95.     const UINT ILD_MASK             = 0x0010;
  96.     const UINT ILD_IMAGE            = 0x0020;
  97.     const UINT ILD_BLEND25          = 0x0002;
  98.     const UINT ILD_BLEND50          = 0x0004;
  99.     const UINT ILD_OVERLAYMASK      = 0x0F00;
  100.  
  101.     // #define INDEXTOOVERLAYMASK(i)    ((i) << 8)
  102.  
  103.     const UINT ILD_SELECTED         = 0x0004;
  104.     const UINT ILD_FOCUS            = 0x0004;
  105.     const UINT ILD_BLEND            = 0x0F00;
  106.     const DWORD CLR_HILIGHT         = 0xFF000000; // -16777216;
  107.  
  108.     [
  109.     usesgetlasterror,
  110.     entry("ImageList_Draw"),
  111.     helpstring("Draws an image list item in the specified device context"),
  112.     ]
  113.     BOOL WINAPI ImageList_Draw([in] HIMAGELIST himl,
  114.                                [in] int i, [in] HDC hdcDst,
  115.                                [in] int x, [in] int y,
  116.                                [in] UINT fStyle);
  117.  
  118.     [
  119.     usesgetlasterror,
  120.     entry("ImageList_Replace"),
  121.     helpstring("Replaces an image in an image list with a new image"),
  122.     ]
  123.     BOOL WINAPI ImageList_Replace([in] HIMAGELIST himl,
  124.                                   [in] int i,
  125.                                   [in] HBITMAP hbmImage,
  126.                                   [in] HBITMAP hbmMask);
  127.  
  128.     [
  129.     usesgetlasterror,
  130.     entry("ImageList_AddMasked"),
  131.     helpstring("Adds an image or images to an image list, generating a mask from the specified bitmap"),
  132.     ]
  133.     int WINAPI ImageList_AddMasked([in] HIMAGELIST himl,
  134.                                    [in] HBITMAP hbmImage,
  135.                                    [in] COLORREF crMask);
  136.  
  137.     [
  138.     usesgetlasterror,
  139.     entry("ImageList_DrawEx"),
  140.     helpstring("Draws an image list item in the specified device context using the given drawing style and color"),
  141.     ]
  142.     BOOL WINAPI ImageList_DrawEx([in] HIMAGELIST himl,
  143.                                  [in] int i, [in] HDC hdcDst,
  144.                                  [in] int x, [in] int y,
  145.                                  [in] int dx, [in] int dy,
  146.                                  [in] COLORREF rgbBk,
  147.                                  [in] COLORREF rgbFg,
  148.                                  [in] UINT fStyle);
  149.  
  150.     [
  151.     usesgetlasterror,
  152.     entry("ImageList_Remove"),
  153.     helpstring("Removes an image from an image list"),
  154.     ]
  155.     BOOL WINAPI ImageList_Remove([in] HIMAGELIST himl, [in] int i);
  156.  
  157.     [
  158.     usesgetlasterror,
  159.     entry("ImageList_GetIcon"),
  160.     helpstring("Creates an icon or cursor based on an image and mask in an image list"),
  161.     ]
  162.     HICON WINAPI ImageList_GetIcon([in] HIMAGELIST himl,
  163.                                    [in] int i, [in] UINT flags);
  164.  
  165.     [
  166.     usesgetlasterror,
  167.     entry("ImageList_LoadImageA"),
  168.     helpstring("Creates an image list from the specified bitmap, cursor, or icon resource"),
  169.     ]
  170.     HIMAGELIST WINAPI ImageList_LoadImage([in] HINSTANCE hi,
  171.                                           [in] LPCSTR lpbmp,
  172.                                           [in] int cx, [in] int cGrow,
  173.                                           [in] COLORREF crMask,
  174.                                           [in] UINT uType, [in] UINT uFlags);
  175.  
  176.     [
  177.     usesgetlasterror,
  178.     entry("ImageList_BeginDrag"),
  179.     helpstring("Begins dragging an image"),
  180.     ]
  181.     BOOL WINAPI ImageList_BeginDrag([in] HIMAGELIST himlTrack,
  182.                                     [in] int iTrack,
  183.                                     [in] int dxHotspot,
  184.                                     [in] int dyHotspot);
  185.  
  186.     [
  187.     usesgetlasterror,
  188.     entry("ImageList_EndDrag"),
  189.     helpstring("Ends a drag operation"),
  190.     ]
  191.     void WINAPI ImageList_EndDrag();
  192.  
  193.     [
  194.     usesgetlasterror,
  195.     entry("ImageList_DragEnter"),
  196.     helpstring("Updates the specified window during a drag operation and displays the drag image at the specified position"),
  197.     ]
  198.     BOOL WINAPI ImageList_DragEnter([in] HWND hwndLock,
  199.                                     [in] int x, [in] int y);
  200.  
  201.     [
  202.     usesgetlasterror,
  203.     entry("ImageList_DragLeave"),
  204.     helpstring("Unlocks the specified window and hides the drag image, allowing the window to be updated"),
  205.     ]
  206.     BOOL WINAPI ImageList_DragLeave([in] HWND hwndLock);
  207.  
  208.     [
  209.     usesgetlasterror,
  210.     entry("ImageList_DragMove"),
  211.     helpstring("Moves the image that is being dragged during a drag-and-drop operation"),
  212.     ]
  213.     BOOL WINAPI ImageList_DragMove([in] int x, [in] int y);
  214.  
  215.     [
  216.     usesgetlasterror,
  217.     entry("ImageList_SetDragCursorImage"),
  218.     helpstring("Creates a new drag image by combining the specified image (typically a cursor) with the current drag image"),
  219.     ]
  220.     BOOL WINAPI ImageList_SetDragCursorImage([in] HIMAGELIST himlDrag,
  221.                                              [in] int iDrag,
  222.                                              [in] int dxHotspot,
  223.                                              [in] int dyHotspot);
  224.  
  225.     [
  226.     usesgetlasterror,
  227.     entry("ImageList_DragShowNolock"),
  228.     helpstring("Shows or hides the image being dragged"),
  229.     ]
  230.     BOOL        WINAPI ImageList_DragShowNolock([in] BOOL fShow);
  231.  
  232.     [
  233.     usesgetlasterror,
  234.     entry("ImageList_GetDragImage"),
  235.     helpstring("Retrieves temporary drag image list, position, and offset"),
  236.     ]
  237.     HIMAGELIST  WINAPI ImageList_GetDragImage([out] int FAR * ppt,
  238.                                               [out] int FAR* pptHotspot);
  239.  
  240.     // #define  ImageList_RemoveAll(himl)
  241.     //          ImageList_Remove(himl, -1)
  242.     // #define  ImageList_ExtractIcon(hi, himl, i)
  243.     //          ImageList_GetIcon(himl, i, 0)
  244.     // #define  ImageList_LoadBitmap(hi, lpbmp, cx, cGrow, crMask)
  245.     //          ImageList_LoadImage(hi, lpbmp, cx, cGrow, crMask, IMAGE_BITMAP, 0)
  246.  
  247.     #ifdef __IStream_INTERFACE_DEFINED__
  248.  
  249.     [
  250.     usesgetlasterror,
  251.     entry("ImageList_Read"),
  252.     helpstring("Reads an image list from a stream"),
  253.     ]
  254.     HIMAGELIST WINAPI ImageList_Read([in] LPSTREAM pstm);
  255.  
  256.     [
  257.     usesgetlasterror,
  258.     entry("ImageList_Write"),
  259.     helpstring("Writes an image list to a stream"),
  260.     ]
  261.     BOOL WINAPI ImageList_Write([in] HIMAGELIST himl,
  262.                                 [in] LPSTREAM pstm);
  263.  
  264.     #endif
  265.  
  266.     /*
  267.     typedef struct _IMAGEINFO
  268.     {
  269.         HBITMAP hbmImage;
  270.         HBITMAP hbmMask;
  271.         int     Unused1;
  272.         int     Unused2;
  273.         RECT    rcImage;
  274.     } IMAGEINFO;
  275.     */
  276.  
  277.     [
  278.     usesgetlasterror,
  279.     entry("ImageList_GetIconSize"),
  280.     helpstring("Gets the dimensions of images in an image list"),
  281.     ]
  282.     BOOL WINAPI ImageList_GetIconSize([in] HIMAGELIST himl,
  283.                                       [out] int FAR * cx,
  284.                                       [out] int FAR *cy);
  285.  
  286.     [
  287.     usesgetlasterror,
  288.     entry("ImageList_SetIconSize"),
  289.     helpstring("Sets the dimensions of images in an image list"),
  290.     ]
  291.     BOOL WINAPI ImageList_SetIconSize([in] HIMAGELIST himl,
  292.                                       [in] int cx, [in] int cy);
  293.  
  294.     /*
  295.     [
  296.     usesgetlasterror,
  297.     entry("ImageList_GetImageInfo"),
  298.     helpstring("Gets information about an image"),
  299.     ]
  300.     BOOL WINAPI ImageList_GetImageInfo([in] HIMAGELIST himl,
  301.                                        [in] int i,
  302.                                        IMAGEINFO FAR* pImageInfo);
  303.     */
  304.  
  305.     [
  306.     usesgetlasterror,
  307.     entry("ImageList_Merge"),
  308.     helpstring("Creates a new image by combining two existing images, and stores it in a new image list"),
  309.     ]
  310.     HIMAGELIST WINAPI ImageList_Merge([in] HIMAGELIST himl1, [in] int i1,
  311.                                       [in] HIMAGELIST himl2, [in] int i2,
  312.                                       [in] int dx, [in] int dy);
  313.  
  314.     //====== ANIMATE CONTROL =======
  315.  
  316.     const LPSTR ANIMATE_CLASS       = "SysAnimate32";
  317.  
  318.     const UINT ACS_CENTER           = 0x0001;
  319.     const UINT ACS_TRANSPARENT      = 0x0002;
  320.     const UINT ACS_AUTOPLAY         = 0x0004;
  321.  
  322.  
  323.     const UINT ACM_OPENA            = WM_USER + 100;
  324.     const UINT ACM_OPEN             = WM_USER + 100;
  325.  
  326.     const UINT ACM_PLAY             = WM_USER + 101;
  327.     const UINT ACM_STOP             = WM_USER + 102;
  328.  
  329.  
  330.     const UINT ACN_START            = 1;
  331.     const UINT ACN_STOP             = 2;
  332.  
  333.  
  334.     /*
  335.     #define Animate_Create(hwndP, id, dwStyle, hInstance)  \
  336.              CreateWindow(ANIMATE_CLASS, NULL,          \
  337.                           dwStyle, 0, 0, 0, 0, hwndP, (HMENU)(id), \
  338.                           hInstance, NULL)
  339.  
  340.     #define Animate_Open(hwnd, szName)
  341.              (BOOL)SendMessage(hwnd, ACM_OPEN, 0, \
  342.              (LPARAM)(LPTSTR)(szName))
  343.  
  344.     #define Animate_Play(hwnd, from, to, rep) \
  345.              (BOOL)SendMessage(hwnd, ACM_PLAY, (WPARAM)(UINT)(rep), \
  346.              (LPARAM)MAKELONG(from, to))
  347.  
  348.     #define Animate_Stop(hwnd) \
  349.              (BOOL)SendMessage(hwnd, ACM_STOP, 0, 0)
  350.  
  351.     #define Animate_Close(hwnd) \
  352.              Animate_Open(hwnd, NULL)
  353.  
  354.     #define Animate_Seek(hwnd, frame) \
  355.              Animate_Play(hwnd, frame, frame, 1)
  356.  
  357.     */
  358. }
  359. #endif // Win32
  360.